Field of the Invention
Embodiments of the present invention relate generally to audiovisual processing and, more particularly, to high dynamic range (HDR) color conversion correction.
Description of the Related Art
High Dynamic Range (HDR) imaging is a technique that enables a wider range of luminance values to be represented than is typically possible via conventional imaging techniques. In particular, conventional imaging equipment is capable of capturing and reproducing only a limited luminance range, commonly resulting in a loss of detail in the luminance ranges associated with shadows and/or highlights. By contrast, HDR techniques are capable of capturing and representing a luminance range that is closer to the range perceived by the human visual system. Consequently, HDR techniques are expected to significantly improve the visual quality of many types of multimedia content.
In order to represent the luminance values associated with HDR content (e.g., luminance values of approximately 0 to 10,000 cd/m2) using moderate bit depths (e.g., 10 to 12 bits per sample), various standards apply a highly nonlinear transfer function to the HDR content. Bit depth generally refers to the number of bits used to represent one image component sample (e.g., a luma or chroma value). More specifically, because the human visual system is more sensitive to differences in luminance values when the luminance values are low, a nonlinear transfer function is commonly applied to linear color values (e.g., RGB values) associated with HDR content in order to allocate a greater number of values to the lower end of the luminance range. Allocating more values to the lower end of the luminance range allows quantization to be achieved at moderate bit depths without any perceptible artifacts from the perspective of the viewer.
After a nonlinear transfer function is applied to HDR content, the resulting nonlinear values are converted to a desired color space and further processed so that the HDR content can be transmitted and broadcast more efficiently. Those additional processing operations typically include chroma subsampling and video compression, each of which are performed to reduce the bitrate of the HDR content. For example, with respect to the HDR10 specification recently adopted by the Digital Entertainment Content Ecosystems (DECE), a ST.2084 nonlinear transfer function is applied to linear RGB values. The nonlinear R′G′B′ values are then converted into the BT.2020 color space, and the resulting Y′CbCr 4:4:4 values are subsampled to generate Y′CbCr 4:2:0 values. The Y′CbCr 4:2:0 values are then compressed via High Efficiency Video Coding (HEVC) Main10 encoding to generate a compressed video stream.
One drawback of conventional HDR conversion processes is that, when color values (e.g., Y′CbCr 4:4:4 values) associated with HDR content are subsampled, the chroma values are subsampled by a process similar to averaging, for example by applying a low-pass filter and subsequently decimating samples (e.g., to generate Y′CbCr 4:2:2 values or Y′CbCr 4:2:0 values), but the luma values are not. When the HDR content is reconstructed, the averaged chroma values are upsampled and then combined with the original luma values. Thus, because the chroma values were modified in the first instance, when an inverse of the nonlinear transfer function is applied to the upsampled values, the reconstructed color values may be significantly different than the color values present in the original HDR content. These types of differences are most noticeable with color values that fall within regions of the nonlinear opto-electrical transfer function that have a steep slope (e.g., color components with low luminance values), since, in these regions, small variations in the value of a color component can have a significant impact on Y′, Cb, and Cr values.
For example, if one color component has a value close to zero, while other color components have higher values—which is commonly the case for colors that are close to color gamut boundaries—then the low intensity color component value would have disproportionally high contribution to the resulting Y′CbCr 4:4:4 signal. That is, small variations in this low intensity color component value would result in significantly different values for the Y′, Cb, and Cr components, despite the corresponding linear RGB values being similar. Consequently, when Y′CbCr 4:2:0 color values are later upsampled to Y′CbCr 4:4:4 color values and the inverse nonlinear transfer function is applied, changes in the Cb and/or Cr values due to subsampling may cause saturated colors to be reconstructed to significantly different values, producing artifacts in the final image.
One solution to the above problem is to iterate over different luma values to select a luma value that, when reconstructed (e.g., by upsampling Y′CbCr 4:2:0 color values to Y′CbCr 4:4:4 color values) results in a linear luminance that is closest to the linear luminance of the original signal. However, in order to select a luma value for a 10-bit signal, for example, this particular approach would require ten iterations to be performed for each luma sample. Because a single iteration requires an inverse nonlinear transfer function to be calculated and an inverse color transform to be applied, these types of conventional techniques can be very slow, even when the electro-optical transfer function is implemented as a look-up table.
Another drawback of conventional HDR conversion processes is that, when the subsampled color values (e.g., Y′CbCr 4:2:0 color values) are later upsampled (e.g., to Y′CbCr 4:4:4 color values) for display, the type of upsampling filter that is implemented by the decoder may be different than the type of downsampling filter that was implemented by the encoder. Consequently, the color values may be reconstructed in an inaccurate manner, leading to visual artifacts. Further, subsampled color values that are near the boundaries of a range of acceptable color values (e.g., 0 to 10,000 nits) may be reconstructed to generate color values that are outside of the acceptable range (e.g., below 0 nits or above 10,000 nits). As a result, the reconstructed color values may not be properly displayed.
As the foregoing illustrates, improved techniques for converting and correcting high dynamic range (HDR) color values would be useful.